double vs extended
Otázka od:  Kevin Macka
20. 11. 2002 14:26
dobry den,
prave resim problem nejakeho divneho zaokrouhlovani pri pouziti typu
real. 
nasledujici kod se totiz dostane do stavu kdy po prevodu StrToFloat
je result <> 12.45. coz je ale nejake divne protoze v editu je prave
hodnota 12,45. 
jak je to mozne? 
ps: kdyz misto typu double pouziju extended tak je vse v poradku
function StrToFloatDef( s : string; default : double ) : double;
begin
  if trim( s ) = '' then begin
    result := default;
    exit;
  end;
  try
    result := StrToFloat( s );
    if result <> 12.45 then
      ShowMessage( 'result <> 12.45' );
  except
    result := default;
  end;
end;
procedure TForm1.ButtonClick(Sender: TObject);
var r : double;
begin
  Edit1.Text := '12,45';
  r := StrToFloatDef( Edit1.Text, 0 );
  ShowMessage( FloatToStr( r ) );
end;
Karel
______________________________________________________________________
Reklama:
Poctenicko pro kazdy den: http://www.novinky.cz
Odpovedá:  Peter Surovy
20. 11. 2002 16:37
Mozno pisem blbost ale:
----- Original Message ----- 
From: "Kevin Macka" <Kevin.Macka@seznam.cz>
Sent: Wednesday, November 20, 2002 12:59 PM
> nasledujici kod se totiz dostane do stavu kdy po prevodu StrToFloat
> je result <> 12.45. coz je ale nejake divne protoze v editu je prave
> hodnota 12,45. 
--- nebude problem tu? 12.45 <> 12,45 (ciarka a bodka)
PS